package com.lovo.service.impl;

import com.lovo.dao.StaffMapper;
import com.lovo.dao.StoreMapper;
import com.lovo.dao.UserMapper;
import com.lovo.model.Staff;
import com.lovo.model.Store;
import com.lovo.service.StoreService;
import com.lovo.util.SqlSessionUtil;
import org.apache.ibatis.session.SqlSession;

import java.util.List;

public class StoreServiceImpl implements StoreService {

    @Override
    public List<Store> getAll(Store store) {
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        StoreMapper mapper = sqlSession.getMapper(StoreMapper.class);
        StaffMapper mappers = sqlSession.getMapper(StaffMapper.class);
        List<Store> list = mapper.getAll(store);
        for(int i =0;i<list.size();i++){
           int id = list.get(i).getStore_id();
            List<Staff> ss = mappers.getStaffById(id);
            list.get(i).setStaffs(ss);
        }
        sqlSession.commit();
        return list;
    }

    @Override
    public boolean insertStore(Store store) {
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        StoreMapper mapper = sqlSession.getMapper(StoreMapper.class);
        int x =mapper.insertStore(store);//执行
        sqlSession.commit();//提交
        return x>0?true:false;
    }

    @Override
    public boolean updateStore(Store store) {
        SqlSession sqlSession= SqlSessionUtil.getSqlSession();
        StoreMapper mapper=sqlSession.getMapper(StoreMapper.class);
        int x=mapper.updateStore(store);
        sqlSession.commit();
        return x>0?true:false;
    }

    @Override
    public boolean deleteStore(int store_id) {
        SqlSession sqlSession= SqlSessionUtil.getSqlSession();
        StoreMapper mapper=sqlSession.getMapper(StoreMapper.class);
        int x=mapper.deleteStore(store_id);
        SqlSessionUtil.commit();
        return x>0?true:false;
    }

    @Override
    public List<Store> getStoreById(int store_id) {
        SqlSession sqlSession= SqlSessionUtil.getSqlSession();
        StoreMapper mapper=sqlSession.getMapper(StoreMapper.class);
        List<Store>list = mapper.getStoreById(store_id);
        sqlSession.commit();
        return list;
    }
}
